安芯神甲智能内存保护系统
引用本文:朱燕涛,姚纪卫,杨芳.安芯神甲智能内存保护系统[J].信息安全与通信保密,2020(增刊1):108-113.
摘 要
安芯网盾作为国内内存安全的开拓者,创新性的开发了基于硬件虚拟化的内存保护系统,将安全防护能力从应用层、系统层下沉到硬件虚拟化层,以解决防护系统和应用的安全问题。本系统可以有效应对系统设计缺陷、外部入侵等威胁,帮助用户实时防御并终止无文件攻击、0day 攻击和基于内存的攻击等。
关键词:内存保护;硬件虚拟化;行为分析;系统脆弱性;漏洞利用;网络安全
内容目录:
1 产品设计理念
2 核心关键技术应用
3 产品功能亮点
4 结 语
0
引 言
系统或应用存在 0day、nday 漏洞, 而且无法避免。2020 年 5 月,Google工程师统计了2015 年以来,Chrome 稳定分支中修复级别为“high”或“critical”的 912 个安全错误,结果发现约七成是内存安全漏洞 。微软安全工程师马特·米勒在 2019 年以色列安全大会上也曾表示,微软旗下的产品在过去 12 年修复的所有漏洞中,有七成是内存安全问题 。
根据 Skybox Security 最新发布的 2020 年漏洞和威胁趋势报告,2020 年上半年新增漏洞数量为 9799 份,在 2019 年同期为 7318 份, 增幅为 34%,这表明 2020 年的新增漏洞数量可能会突破新纪录, 超过 20000 个 。业务系统的建设可以通过安全开发管理加强自身安全性,但业务系统引入第三方工具或库使其变得复杂化、第三方库存在大量漏洞而无法得到及时修复,依靠常规扫描、渗透测试和补丁修复,无法抵御大量的漏洞利用攻击。
网络安全的本质是攻防对抗,近年来基于内存攻击、无文件攻击、缓冲区溢出等新兴攻击手段愈演愈烈。例如心脏滴血漏洞就是通过多读内存数据从而达到获取敏感数据的目的;无文件攻击采用绕过系统合法检测机制的方法, 在内存中远程加载和执行进而达到数据窃取、破坏或勒索目的。
尽管所有的企业都部署了大量的安全产品, 但是攻击者依然能够穿透层层防护,传统的安全软件通过对系统挂钩子的方式采集信息再分析,这就像用上个世纪的雷达去检测最新一代的隐形战斗机一样没有效果。安芯神甲智能内存保护系统(以下简称“安芯神甲”)将安全检测机制下沉到硬件虚拟化层,解决了传统的基于系统层或者应用层的安全软件解决不了的高级威胁。
1
产品涉及理念
1.1 核心原理
操作系统的“权限”是一个重要而敏感的话题,为了增加自身安全性,对外开放的权限也呈现封闭趋势,通过传统 API、Hook 检测方式将受到极大制约,传统防护手段就会出现检出率低、高误报的严重问题。近年来出现很多的高级攻击深入硬件底层,诸如 Spectre 和 Meltdown 漏洞等,大部分安全工具在面对新型威胁和内部威胁时缺点暴露无遗。由于恶意程序不再有心跳信息导致安全产品发现能力弱。只在应用层或系统层进行防护的产品是很难在第一时间发现并阻断这些威胁,因此难以从根本上进行防范。如何解决系统脆弱性问题?如何保护业务连续性与内存数据安全?如何应对当前形势下的新威胁?
图 1 计算机硬件系统
冯·诺依曼提出的存储程序计算机,如图1 所示,计算机体系结构决定了任何数据都需要经过 CPU 进行运算,其数据都需要经过内存进行存储。理论上基于 CPU 指令集、内存这一层面实现的安全方案可以有效防御所有威胁。安芯神甲采用了软硬件协同的一体化方案,基于硬件虚拟化技术、内存行为分析、主动防御等前沿技术实现在应用程序级别保护内存,提供高等级的安全保护,能够在应用层、系统层、硬件层提供有机结合的立体防护。
安全从内存保护开始,通过内存保护机制实现对系统进一步加固,各种安全产品就像一道道守护墙,每一道墙都是一套解决方案,如图 2 所示,内存保护系统也可以称之为内存防火墙,守护主机安全的最后一公里。安芯神甲可以有效检测系统漏洞被利用过程,并防止其执行,从而解决系统本身脆弱性问题,确保业务运行时安全。
图 2 技术原理
1.2 技术架构
安芯神甲基于硬件虚拟化技术架构设计, 硬件虚拟化技术实现系统底层监控能力,当应用系统运行时,其运行在一个更高位权限下, 可以理解为其启动后运行在 host 模式,而整个操作系统则是无感知运行在 Guest 模式下,实现对内存数据访问及系统行为全面监控。该架构解决了内存数据访问不可见问题。本设计从指令集层面监控系统(或程序)行为,还可以监控一些异常的内存数据流动,大量的行为数据可以极大的提高恶意代码的检出率,还能极大规避误报漏报。
如图 3 所示,安芯神甲利用 VM 嵌套技术向下直接与硬件架构进行适配对接,目前已经支持主流的架构,包括 X86 架构、ARM 架构、MIPS 架构;向上与各操作系统相兼容,已经支持主流的操作系统含国产化系统,例如:NeoKylin、deepin、UOS 等。该架构构建了纵深防御体系的最后一道安全防线,可以有效监控内存中恶意读、写、执行行为,并通过与系统关联分析技术,实现全方位系统及业务运行安全,确保其具备高检出低误报能力。
同时该产品设计采用轻量级 Agent 架构,受保护端无界面,当内存保护系统 Agent 端发现内存中异常执行行为时,会将威胁发送至 Server 端,由Server 端进行集中安全管理,帮助企业建立威胁实时监测、实时分析、实时响应的安全体系,用户在最后看到的只是一份报告 / 日志用以定期查阅,但在系统运行过程中已经帮助客户抵御了许多攻击。
图 3 技术架构
2
核心关键技术应用
2.1 硬件虚拟化技术
硬件虚拟化是一种对计算机或操作系统的虚拟。虚拟化对用户隐藏了真实的计算机硬件, 表现出另一个抽象计算平台。
针对内存安全,首先需要解决内存访问行为可见问题,内存行为对于应用层就像一个黑盒子,更无法实现真正的指令集监控。通过硬件虚拟化技术可以全方位实现内存行为可视化能力,同时其充分利用 CPU 层本身的隔离机制, 病毒无法感知,从而保障自身安全能力。
2.2 内存行为分析技术
通过内存行为分析技术可以实现以下三方面保护能力:
(1) 漏洞防御能力:通过细粒度的监控内存读、写、执行行为,可实时检测内存中存在堆喷、堆栈溢出、内存数据覆盖等异常行为, 结合拦截模块进行漏洞防御。
(2) 内存数据保护能力:通过硬件虚拟化技术对内存中关键业务进行打点,并通过对业务的关联分析,监控应用相关内存数据的多读、挂钩、篡改等行为,保护业务核心数据资产不被窃取。
(3) 威胁防御能力:基于 CPU 指令集的监控,监控内存代码、数据状态,实时感知内存数据流动状态和程序的具体行为动作,能防御未知威胁。
2.3 上下文分析技术
此功能应用在特定业务场景, 通过内存行为分析对业务进行预学习,从而建立应用程序合法执行路径的路线图。当应用程序在执行过程中, 内存保护系统会监控其合法执行路径,一旦出现程序执行过程中偏差,内存保护系统则会对其进行立即拦截, 并在短时间内快速修正其执行流, 从而达到保护业务连续性目的。
2.4 主动分析技术
内存保护系统专家库质量建设依赖于大量病毒样本分析。基于我们的海量样本,超过十几年的反病毒从业经验,分析总结出来的病毒行为知识库(最早用于反病毒的启发式引擎中, 早些年在 VB100 的未知病毒检测中,排名全球第二),对指令监控分析模块识别出来的行为做分析,以发现威胁。
病毒样本可以有无数,但是恶意行为的种类是有限的(大概 200~300 种),因此本系统病毒行为知识库体积虽然很小,但不影响检测效果。通过主动分析技术,实现了由静态检测变动态检测、由被动防御变主动防御,由特征识别变行为分析技术,最终实现对未知威胁的检测能力。
3
产品功能亮点
3.1 内存数据保护
系统运行时或切换用户时,内存中具有缓存数据,内存保护系统可以对特定进程进行防护,防止第三方工具读取缓存数据。
同时通过硬件虚拟化技术对内存中关键业务进行打点,并通过对业务的关联分析, 监控应用对业务相关的内存数据的多读、挂钩、篡改等行为,保护业务核心数据资产不被窃取。
3.2 漏洞防御与检测
通过细粒度的监控内存读、写、执行行为, 可实时检测内存中存在堆、栈代码执行、内存数据覆盖等异常行为,结合拦截模块高效防御漏洞攻击。
3.3 应用运行时保护
内存保护技术通过映射程序的合法执行路径,实时检测并阻止攻击。确保核心业务应用程序只按照预期的方式运行,不会因病毒窃取、漏洞触发而遭受攻击,切实有效保护业务连续性。
3.4 未知威胁防御
通过对内存行为分析与行为分析,引擎能够有效防护无文件攻击、ROP 攻击、基于内存的攻击等。传统安全只能防御已知攻击,未知威胁防御能力明显滞后。
4
结 语
内存保护系统是一项新的技术领域,今年1 月份我们在中国网络安全能力图谱的端点安全中开辟了一个新的赛道“内存安全”,更是引起了众多大 B 客户及头部安全友商的关注。
操作系统的安全是整个计算机系统安全的基础,没有操作系统安全,就不可能真正解决系统、数据安全问题。而操作系统本身也存在脆弱性问题,存在数据被篡改、破坏、数据窃取的情况,而内存保护系统则为系统建立一道新的防线,可以有效应对系统设计缺陷、外部入侵等威胁,通过监测系统漏洞被利用情况,防止其对系统进行破坏,从而增加系统的安全性。
朱燕涛,学士,产品总监,主要研究方向为主机安全、内存安全;
姚纪卫,学士,CTO,主要研究方向为内存保护技术、系统安全、内存安全;
杨 芳,硕士,研究生在读,主要研究方向为网络安全应急管理、内存安全。
选自《信息安全与通信保密》2020年增刊1期(为便于排版,已省去原文参考文献)网络强国建设的思想库
安全产业发展的情报站
创新企业腾飞的动力源
投稿网址:
合作热线:010-88203306